WEBVTT 00:00.000 --> 00:05.880 So good afternoon everyone. My name is Robert Zaladek. I'm the Director of Business Development 00:05.880 --> 00:11.800 for a company called AdaptX Solutions and we're experts in helping companies build event-driven 00:11.800 --> 00:16.820 systems. And one of the approaches that we use with all of our clients is an approach 00:16.820 --> 00:21.000 called event storming. So I want to tell you a little bit about it and also see how you 00:21.000 --> 00:26.720 might use it in one of your upcoming projects. So what is it? Event storming is an approach 00:26.720 --> 00:32.140 to modeling complex business flows. It's geared towards projects that leverage things like 00:32.140 --> 00:38.060 domain-driven design and event sourcing, but it provides some insight no matter what approach 00:38.060 --> 00:43.520 you use. The benefits of the approach are that it's fast, it's comprehensive, it's 00:43.520 --> 00:50.320 really collaborative, it's efficient, and it's a lot of fun to do. So what do you need 00:50.320 --> 00:58.920 to do event storming? Actually sorry, you know what, let me... So not only is it fast, 00:58.920 --> 01:03.160 efficient, fun, and so on, but essentially what you get out the other side is you get 01:03.160 --> 01:07.000 an outline of what you want to build, how it's going to fit into the existing product 01:07.000 --> 01:12.480 and the exact sequence of how the new functionality will work. So essentially it gives you both 01:12.480 --> 01:17.340 the business flow and an outline of the architecture. So what you need. So you need to get the 01:17.340 --> 01:21.640 right people in the room. So traditionally when we develop new systems, you get a BA 01:21.640 --> 01:25.400 or a product owner, somebody who comes around and goes and meets with all these different 01:25.400 --> 01:29.760 stakeholders. This short-circuits that whole process. What it does is you get everybody 01:29.760 --> 01:35.440 in the room at the same time. So you might have people like a developer, a team lead, 01:35.440 --> 01:41.520 architect, product owner, BA, someone from sales as well as maybe a CEO in a smaller 01:41.520 --> 01:47.120 company, and everybody gets involved. The approach allows you to think through events 01:47.120 --> 01:51.400 from end to end because all the people are in the room at the same time from a variety 01:51.400 --> 01:56.360 of disciplines and backgrounds, and none of the steps are missed. Edge cases are explored 01:56.360 --> 02:01.080 and essentially you go from a blank slate to a fully-fledged sort of product outline 02:01.080 --> 02:10.080 in a matter of hours. Okay, great. All right. This is actually what... This is what it looks 02:10.080 --> 02:14.640 like, and this is what we're going to be doing downstairs afterwards. As you can see, it's 02:14.640 --> 02:18.840 a very, very simple approach, and I'm just going to go right into what you need to think 02:18.840 --> 02:26.800 through with these things. So what you want to do is start with domain events. A domain 02:26.800 --> 02:31.760 event is something significant that happens in the domain. For example, payment processed, 02:31.760 --> 02:37.080 and the use of the past tense is really, really important when you're doing this. You also 02:37.080 --> 02:40.760 want to consider how the domain events came about. So in almost every case, there are 02:40.760 --> 02:46.080 going to be events before, there are going to be events after, and this allows you to... 02:46.080 --> 02:51.960 This approach allows you to move the stickies around in a very, very elegant way. Okay. 02:51.960 --> 03:12.360 Thanks. Come downstairs and do an event starting with us.